<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="author" content="Zhou Wei <zromyk@163.com>">
  <title>计算机考研-计算机组成原理</title>
  <link rel="shortcut icon" href="/favicon.ico">
  <link rel="stylesheet" href="/style/pure.css">
  <link rel="stylesheet" href="/style/main.css">
  <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css">
  <script src='/style/latest.js?config=TeX-MML-AM_CHTML'></script>
  <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
  <script src='/style/Valine.min.js'></script>
  <link href="https://apps.bdimg.com/libs/highlight.js/9.1.0/styles/default.min.css" rel="stylesheet">
  <script src="https://apps.bdimg.com/libs/highlight.js/9.1.0/highlight.min.js"></script>
  <script>hljs.initHighlightingOnLoad();</script>
  <script src="https://cdn.geogebra.org/apps/deployggb.js"></script>
  <script src="https://cdn1.lncld.net/static/js/2.5.0/av-min.js"></script>
  <script src='/style/readTimes.js'></script>
</head>
<body>
  <div id="menu-background"></div>
  <div id="menu">
    <div class="pure-menu pure-menu-horizontal">
  <div id="menu-block">
    <ul class="pure-menu-list">
      <a class="pure-menu-heading" href="/index.html">ZROMYK</a>
<li class="pure-menu-item">
  <a class="pure-menu-link" href="/index.html">主页</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" href="/public/archive/index.html">归档</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" href="/public/download/index.html">下载</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" href="/public/feedback/index.html">反馈</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" href="/public/about/index.html">关于我</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" href="https://github.com/zromyk"><i class="fa fa-github" style="font-size:32px"></i></a>
</li>

    </ul>
  </div>
</div>

  </div>
  <div id="layout">
    <div class="content">
      <div id="content-articles">
  <h1 id="计算机考研-计算机组成原理" class="content-subhead">计算机考研-计算机组成原理</h1>
  <p>
    <span>1970-01-01</span>
    <span><span class="post-category post-category-cs">CS</span></span>
    <span id="/public/article/计算机考研-计算机组成原理.html" class="leancloud_visitors" style="display:none" data-flag-title="计算机考研-计算机组成原理"></span>
  </p>
  <h2 id="_1">第一章 计算机系统概述</h2>
<h3 id="1">1.计算机的发展历程</h3>
<h4 id="1_1">1、计算机的发展历程</h4>
<ul>
<li>第一代：电子管计算机时代（20世纪40年代～20世纪50年代后）</li>
<li>第二代：晶体管计算机时代（20世纪20年代中～20世纪60年代后）</li>
<li>第三代：集成电路计算机时代（20世纪60年代中～20世纪70年代前）</li>
<li>第四代：大规模集成电路计算机时代（20世纪70年代初开始）</li>
</ul>
<h4 id="2">2、计算机的分类</h4>
<ul>
<li>巨型机</li>
<li>大型机</li>
<li>小型机</li>
<li>微型机</li>
</ul>
<h3 id="2_1">2.计算机系统</h3>
<h4 id="_2">硬件系统</h4>
<ul>
<li>中央处理器</li>
<li>存储器</li>
<li>输入/输出设备</li>
</ul>
<h4 id="_3">软件系统</h4>
<ul>
<li>
<p>系统软件</p>
<ul>
<li>操作系统</li>
<li>实用程序</li>
<li>编译程序</li>
</ul>
</li>
<li>
<p>应用软件</p>
</li>
</ul>
<h3 id="3">3.计算机系统的层次结构</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>计算机系统的层次结构</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>第0级机器</td>
<td>硬件内核</td>
</tr>
<tr>
<td>第1级机器</td>
<td>微指令</td>
</tr>
<tr>
<td>第2级机器</td>
<td>传统机器语言机器</td>
</tr>
<tr>
<td>第3级机器</td>
<td>操作系统机器</td>
</tr>
<tr>
<td>第4级机器</td>
<td>汇编语言机器</td>
</tr>
<tr>
<td>第5级机器</td>
<td>高级语言机器</td>
</tr>
<tr>
<td>第6级机器</td>
<td>应用语言机器</td>
</tr>
</tbody>
</table></div>
<h3 id="4">4.计算机软件</h3>
<ol>
<li>操作系统</li>
<li>语言处理程序</li>
<li>服务性程序</li>
<li>数据库管理系统</li>
<li>计算机网络软件</li>
</ol>
<h3 id="5">5.冯·诺伊曼计算机</h3>
<ol>
<li>运算器、控制器、存储器、输入/输出设备</li>
<li>程序和数据都放在存储器中</li>
<li>指令和数据都是二进制形式</li>
<li>指令由操作码和地址码组成</li>
<li>指令在存储器中顺序存放，并能自动执行</li>
</ol>
<h3 id="6">6.计算机硬件</h3>
<ol>
<li>输入设备</li>
<li>存储器<ol>
<li>内存</li>
<li>外存</li>
<li>数据寄存器（MDR）</li>
<li>地址寄存器（MAR）</li>
</ol>
</li>
<li>输出设备</li>
<li>运算器</li>
<li>控制器<ol>
<li>程序计数器（PC）</li>
<li>指令寄存器（IR）</li>
<li>控制单元（CU）</li>
</ol>
</li>
</ol>
<h3 id="7">7.计算机的性能指标</h3>
<ol>
<li>吞吐量</li>
<li>响应时间</li>
<li>CPU 时钟周期</li>
<li>主频</li>
<li>CPI 执行一条指令需要的时钟周期数</li>
<li>CPU 执行时间<ol>
<li>
<script type="math/tex">CPU时钟周期数 / 主频</script>
</li>
<li>
<script type="math/tex">指令条数 * CPI * 时钟周期长度</script>
</li>
<li>
<script type="math/tex">(指令条数 * CPI) / 主频</script>
</li>
</ol>
</li>
<li>
<p>MIPS和MFLOPS </p>
</li>
<li>
<p>机器字长</p>
</li>
<li>存储器容量</li>
<li>主存的存取时间</li>
<li>计算机的运算速度</li>
</ol>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>指标</th>
<th>描述</th>
<th>计算公式</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPI</td>
<td>执行一条指令需要的时钟周期数</td>
<td></td>
</tr>
<tr>
<td>IPC</td>
<td>CPI的倒数</td>
<td></td>
</tr>
<tr>
<td>MIPS</td>
<td>指CPU每秒执行多少百万条<strong>指令数</strong>：用于评价标量机（一个数一个数计算）</td>
<td>
<script type="math/tex">指令条数 / (执行时间 * 10^6) = 主频 / CPI</script>
</td>
</tr>
<tr>
<td>MFLOPS</td>
<td>指CPU每秒执行多少百万次<strong>浮点数</strong>：用于衡量向量机（同时对一批数据计算）</td>
<td>
<script type="math/tex">浮点操作次数 / (执行时间 * 10^6)</script>
</td>
</tr>
<tr>
<td>GFLOPS</td>
<td></td>
<td></td>
</tr>
<tr>
<td>TFLOPS</td>
<td></td>
<td></td>
</tr>
</tbody>
</table></div>
<h3 id="_4">知识点</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.【2016年统考真题】将高级语言源程序转化为机器级目标代码文件的程序是【编译程序】。</td>
</tr>
<tr>
<td>2.【2015年统考真题】计算机硬件能够直接执行的是【机器语言程序】。</td>
</tr>
<tr>
<td>3.【2018年统考真题】冯诺依曼结构计算机中数据采用二进制编码表示，其主要原因是【I，II，III】<br /><br />&gt; I二进制的运算规则简单<br />&gt; II制造两个稳态的物理器件较容易<br />&gt; III便于用逻辑门电路实现算术运算</td>
</tr>
<tr>
<td>4.【2019年统考真题】下列关于冯诺依曼结构计算机基本思想的叙述中，错误的是【C】<br /><br />&gt; A.程序的功能都通过中央处理器执行指令实现<br />&gt; B.指令和数据都用二进制表示，形式上无差别<br />&gt; C.指令按地址访问时，<strong>数据都在指令中直接给出✘</strong><br />&gt; D.程序执行前，指令和数据需要预先存放在存储器中</td>
</tr>
<tr>
<td>5. 冯诺依曼计算机的基本工作方式是【控制流驱动方式】。</td>
</tr>
<tr>
<td>6. 相联存储器【既可以按地址寻址又可以按内容寻址】。<br /><br />关联存储器（<em>相联存储器</em>），是一种不根据地址而是根据存储内容来进行存取的存储器，可以实现快速地查找块表。<br />Cache、快表就是一种相联存储器，运用他们可以达到更高的查找效率。</td>
</tr>
<tr>
<td><strong>7.【2010年统考真题】能够缩短程序执行时间的措施是【1.提高CPU时钟频率，2.优化数据通路结构，3.对程序进行编译优化】</strong></td>
</tr>
<tr>
<td>MIPS架构最早由斯坦福大学计算科学实验室开发，是一种简洁、优化方便、具有高度扩展性的RISC架构，也是<strong>业界最高效的RISC架构</strong>，能够提供最高的每平方毫米性能和当今SoC设计中最低的功耗。<br /><br />MIPS(Million Instructions Per Second)：单字长定点指令平均执行速度 Million Instructions Per Second的缩写，每秒处理的百万级的机器语言指令数。</td>
</tr>
</tbody>
</table></div>
<h2 id="_5">第二章 运算器</h2>
<h3 id="1_2">1.基本概念</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>基本概念</th>
<th></th>
<th>正数（数值部分）</th>
<th>负数（数值部分）</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 真值</td>
<td>正负符号 + 二进制绝对值</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2. 定点数</td>
<td>参与运算的小数点位置固定</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3. 机器数</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>4. 原码</td>
<td>最高位为符号位(0/1)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>5. 反码</td>
<td>最高位为符号位(0/1)</td>
<td>与原码相同</td>
<td>原码按位取反</td>
</tr>
<tr>
<td>6. 补码</td>
<td>最高位为符号位(0/1)</td>
<td>与原码相同</td>
<td>原码按位取反 + 1</td>
</tr>
<tr>
<td>7. 移码</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table></div>
<h3 id="3_1">3.定点数表示和运算</h3>
<h4 id="1_3">1、真值和机器数</h4>
<ul>
<li>真值：<script type="math/tex">+-绝对值</script>
</li>
<li>机器数：用0表示正，用1表示负</li>
</ul>
<h4 id="2_2">2、定点机器数移位运算</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>算数移位</th>
<th>逻辑移位</th>
<th>循环移位</th>
</tr>
</thead>
<tbody>
<tr>
<td>有符号数，符号位不变</td>
<td>无符号数移位</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td>适合将数据的底字节和高字节互换</td>
</tr>
<tr>
<td>正数：<br />原码：添0<br/>反码：添0<br/>补码：添0<br /><br />负数：<br />原码：添0<br/>反码：添1<br/>补码：右移添1，左移添0</td>
<td></td>
<td></td>
</tr>
</tbody>
</table></div>
<h4 id="3_2">3、定点机器数加减运算</h4>
<ol>
<li>原码加减法：需要判断数的符号，然后决定做加法还是减法</li>
<li>补码加减法</li>
</ol>
<h4 id="4_1">4、溢出概念和判别方法</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>采用一位符号位</th>
<th>采用一位符号位</th>
<th>双符号位</th>
</tr>
</thead>
<tbody>
<tr>
<td>A的符号位，B的符号位，运算结果的符号位S</td>
<td>上溢出，符号位进0，最高数据位进1<br />下溢出，符号位进1，最高数据位进0</td>
<td>双符号位参与运算，0变00，1变11</td>
</tr>
<tr>
<td>是否溢出 <script type="math/tex">V = AB\overline S + \overline A \overline BS</script>
</td>
<td></td>
<td>运算结果中的双符号位：<br/>00，结果正，无溢出<br/>01，结果正，溢出<br/>10，结果负，溢出<br/>11，结果负，无溢出</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table></div>
<h4 id="5_1">5、数据的存储和排列</h4>
<p>变量i的机器数为：01 23 45 67 H，起始地址为0800H</p>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>01 23 45 67 H</th>
<th>&hellip;</th>
<th>0800H</th>
<th>0801H</th>
<th>0802H</th>
<th>0803H</th>
<th>&hellip;</th>
</tr>
</thead>
<tbody>
<tr>
<td>大端方式（高字节在前）</td>
<td>&hellip;</td>
<td>01H</td>
<td>23H</td>
<td>45H</td>
<td>67H</td>
<td>&hellip;</td>
</tr>
<tr>
<td>小端方式（低字节在前）</td>
<td>&hellip;</td>
<td>67H</td>
<td>45H</td>
<td>23H</td>
<td>01H</td>
<td>&hellip;</td>
</tr>
</tbody>
</table></div>
<h3 id="4_2">4. 浮点数表示和运算</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>格式</th>
<th>符号</th>
<th>位</th>
</tr>
</thead>
<tbody>
<tr>
<td>阶码</td>
<td>1位</td>
<td>k位</td>
</tr>
<tr>
<td>数值</td>
<td>1位</td>
<td>n位</td>
</tr>
</tbody>
</table></div>
<h3 id="5-ieee754">5. IEEE754标准浮点数的范围</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>float</th>
<th>double</th>
</tr>
</thead>
<tbody>
<tr>
<td>尾数符号</td>
<td>1 bit</td>
<td>1 bit</td>
</tr>
<tr>
<td>阶码符号</td>
<td>1 bit，【1正，0负】</td>
<td>1 bit</td>
</tr>
<tr>
<td>阶码（移码表示）</td>
<td>7 bit，【机器零：0000000，无限大：1111111】</td>
<td>10 bit</td>
</tr>
<tr>
<td>尾数位数（原码表示）</td>
<td>23 bit，【<script type="math/tex">1～(2-2^{-23})</script>】</td>
<td>52 bit</td>
</tr>
<tr>
<td>真值</td>
<td>
<script type="math/tex">(-1)^s*1.M*x^{E-127}</script>
</td>
<td>
<script type="math/tex">(-1)^s*1.M*x^{E-1023}</script>
</td>
</tr>
<tr>
<td>最小值</td>
<td>
<script type="math/tex">E=0，M=0</script>
</td>
<td>
<script type="math/tex">E=0，M=0</script>
</td>
</tr>
<tr>
<td></td>
<td>
<script type="math/tex">1.0*2^{1-127}=2^{-126}</script>
</td>
<td>
<script type="math/tex">1.0*2^{1-1023}=2^{-1022}</script>
</td>
</tr>
<tr>
<td>最大值</td>
<td>
<script type="math/tex">E=254，M=.111...</script>
</td>
<td>
<script type="math/tex">E=2046，M=.111...</script>
</td>
</tr>
<tr>
<td></td>
<td>
<script type="math/tex">1.111...*2^{254-127}=(2-2^{-23})*2^{127}</script>
</td>
<td>
<script type="math/tex">1.111...*2^{2046-1023}=(2-2^{-52})*2^{1023}</script>
</td>
</tr>
</tbody>
</table></div>
<h3 id="6_1">6. 运算器</h3>
<h4 id="1_4">1. 运算器的组成</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>运算器的组成</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>算数逻辑单元ALU</td>
<td>加、减、乘、除；与、或、非、异或；移位、求补</td>
<td></td>
</tr>
<tr>
<td>累加器</td>
<td>暂时存放参与算数逻辑运算单元运算的操作数据和结果</td>
<td></td>
</tr>
<tr>
<td>状态寄存器</td>
<td>Z（零标志位）</td>
<td>结果为0，Z为1</td>
</tr>
<tr>
<td></td>
<td>N（符号标志位）</td>
<td>结果为负，N为1</td>
</tr>
<tr>
<td></td>
<td>V （溢出标志位）</td>
<td>结果溢出，V为1</td>
</tr>
<tr>
<td></td>
<td>C（进位或借位标志位）</td>
<td>进位或借位，C为1</td>
</tr>
<tr>
<td>通用寄存器</td>
<td>保存参与运算的操作数和运算结果</td>
<td></td>
</tr>
</tbody>
</table></div>
<h4 id="2_3">2. 运算器的结构</h4>
<ol>
<li>单总线结构运算器</li>
<li>双总线结构运算器</li>
<li>三总线结构运算器</li>
</ol>
<h4 id="3_3">3. 校验码</h4>
<ol>
<li>奇偶校验码</li>
<li>循环冗余校验码（CRC）</li>
<li>海明校验码</li>
</ol>
<h3 id="_6">知识点</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.【2019年统考真题】用海明码堆长度为8位的数据进行检错、纠错，若能纠正以为错，则校验位数至少为【4】<br /><br />&gt; <script type="math/tex">2^k \ge n+k+1</script>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table></div>
<h2 id="_7">第三章 存储系统</h2>
<h3 id="1_5">1.存储器</h3>
<h4 id="1_6">1、存储器的分类</h4>
<h4 id="2_4">2、存储器的性能指标</h4>
<h3 id="2_5">2.存储器的层次化结构</h3>
<h4 id="1_7">1、多级存储结构</h4>
<h3 id="3_4">3.半导体随机存储器</h3>
<h4 id="1sramdram">1、SRAM和DRAM</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>SRAM</th>
<th>DRAM</th>
</tr>
</thead>
<tbody>
<tr>
<td>名称</td>
<td>静态随机存储器</td>
<td>动态随机存储器</td>
</tr>
<tr>
<td>存储元</td>
<td>双稳态触发器（六晶体管MOS）</td>
<td>栅极电容上的电荷（一晶体管MOS）</td>
</tr>
<tr>
<td>特点</td>
<td>读取信息不需要再生（非破坏性读出）</td>
<td><strong>1. 采用地址复用技术，地址线是原来的<script type="math/tex">\cfrac{1}{2}</script>，地址信号分行、列两次传送。</strong><br />2. 需要不断刷新，否则信息会丢失。</td>
</tr>
<tr>
<td>刷新</td>
<td></td>
<td>1. 集中刷新：在一个刷新周期内，利用固定时间依次刷新，存在死区。<br />2. 分散刷新：分两部分，间隔刷新。<br />3. 异步刷新：刷新周期除以行数，得到两次刷新操作之间的时间间隔t<br />利用逻辑电路每次间隔时间t刷新。</td>
</tr>
<tr>
<td>注意事项</td>
<td></td>
<td>1. 刷新对CPU是透明。<br />2. 刷新单位是行，因此刷新时只需要行地址。<br />3. 刷新仅给栅极电容补充电荷，不需要读出信息。</td>
</tr>
<tr>
<td>优点</td>
<td>存取速度快</td>
<td>容易集成，价位低，容量大，功耗低</td>
</tr>
<tr>
<td>缺点</td>
<td>集成度低，功耗较大</td>
<td>存取速度比SRAM低</td>
</tr>
<tr>
<td>用途</td>
<td>用来组成<strong>高速缓冲存储器</strong></td>
<td>用来组成大容量主存系统</td>
</tr>
</tbody>
</table></div>
<h4 id="2rom">2、只读存储器（ROM）</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>MROM</th>
<th>PROM</th>
<th>EPROM</th>
<th>Flash</th>
<th>SSD</th>
</tr>
</thead>
<tbody>
<tr>
<td>名称</td>
<td>掩模式只读存储器</td>
<td>一次可编程只读存储器</td>
<td>可擦除可编程只读存储器</td>
<td>闪速存储器</td>
<td>固态硬盘</td>
</tr>
<tr>
<td>特点</td>
<td>写入后任何人无法改变其内容</td>
<td></td>
<td>紫外线擦除（UVEPROM）<br />电擦除（EEPROM）</td>
<td></td>
<td></td>
</tr>
<tr>
<td>优点</td>
<td>可靠性高，集成度低，价格便宜</td>
<td></td>
<td></td>
<td>价格便宜，集成度高，擦除重写速度快</td>
<td>读写速度快，低功耗</td>
</tr>
<tr>
<td>缺点</td>
<td>灵活性差</td>
<td></td>
<td>编成次数有限，且写入时间较长</td>
<td></td>
<td>价格较高</td>
</tr>
</tbody>
</table></div>
<h4 id="3_5">3、主存储器的基本构成</h4>
<p>读写控制线可以使用同一根。</p>
<p>数据线的宽度与MDR（数据寄存器）的宽度相同。</p>
<p>地址线的宽度与MAR（地址寄存器）的宽度相同。<strong>与存储单元的字长无关</strong>。</p>
<p>数据线和地址线共同反映存储体容量的大小。</p>
<h3 id="4cpu">4.主存储器与CPU的连接</h3>
<h4 id="1_8">1、连接原理</h4>
<h4 id="2_6">2、主存容量扩展</h4>
<h5 id="1_9">1.位扩展</h5>
<h5 id="2_7">2.字扩展</h5>
<h5 id="3_6">3.字位同时扩展</h5>
<h4 id="3_7">3、存储芯片的地址分配和片选</h4>
<h5 id="1_10">1.线选</h5>
<h5 id="2_8">2.译码器片选</h5>
<h3 id="5ram">5.双端口RAM和多模块存储器</h3>
<h4 id="1ram">1、双端口RAM</h4>
<h4 id="2_9">2、多模块存储器</h4>
<h5 id="1_11">1.单体多字存储器</h5>
<h5 id="2_10">2.多体并行存储器</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>高位交叉编址</th>
<th>低位交叉编址</th>
</tr>
</thead>
<tbody>
<tr>
<td>高位地址表示体号，低位地址表示体内地址。</td>
<td>低位地址表示体号，高位地址表示体内地址。</td>
</tr>
<tr>
<td><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/20180112210025854.png" alt="20180112210025854" style="zoom:67%;" /></td>
<td><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/20180112210047400.png" alt="20180112210047400" style="zoom:67%;" /></td>
</tr>
</tbody>
</table></div>
<h3 id="6_2">6.高速缓冲存储器</h3>
<h4 id="1cache">1、Cache的基本工作原理</h4>
<h4 id="2cache">2、Cache和主存的映射方式</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>直接映射</th>
<th>全相联映射</th>
<th>组相联映射</th>
</tr>
</thead>
<tbody>
<tr>
<td>主存中的每块只能装入Cache中的唯一位置。</td>
<td>主存中的每块可以装入Cache中任意位置。</td>
<td>主存中的每块可以装入一组Cache中任意位置。组间采用直接映射，组内采用全相联映射。</td>
</tr>
<tr>
<td><span style="overflow-x: auto; max-width:100%; display:inline;"><code>[标记][Cache行号][块内地址]</code></span></td>
<td><span style="overflow-x: auto; max-width:100%; display:inline;"><code>[标记][块内地址]</code></span></td>
<td><span style="overflow-x: auto; max-width:100%; display:inline;"><code>[标记][Cache组号][块内地址]</code></span></td>
</tr>
<tr>
<td><img class="pure-img" alt="20190726151000513" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/20190726151000513.png" /></td>
<td><img class="pure-img" alt="20190726193610753" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/20190726193610753.png" /></td>
<td><img class="pure-img" alt="20190726214625867" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/20190726214625867-6316481.png" /></td>
</tr>
</tbody>
</table></div>
<h4 id="3cache">3、Cache中主存储块的替换算法</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>替换算法</th>
<th>内容</th>
</tr>
</thead>
<tbody>
<tr>
<td>随机算法</td>
<td></td>
</tr>
<tr>
<td>先进先出</td>
<td></td>
</tr>
<tr>
<td>最近最少使用（LRU）</td>
<td>将最久没有被访问过的主存块替换。<br />每个Cache行设置一个“计数器”，用于记录多久没被访问。</td>
</tr>
<tr>
<td>最不经常使用（LFU）</td>
<td>将被访问次数最少的主存块替换。<br />每个Cache行设置一个“计数器&rdquo; ，用于记录被访问过多少次。</td>
</tr>
</tbody>
</table></div>
<h4 id="4cache">4、Cache写策略</h4>
<h5 id="1_12">1. 写命中</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>写策略</th>
<th>全写法（写直通法）</th>
<th>回写法</th>
</tr>
</thead>
<tbody>
<tr>
<td>描述</td>
<td>CPU对Cache写命中时，<br />必须把数据同时写入Cache和主存。</td>
<td>CPU对Cache写命中时，<br />只修改Cache中的内容，而不立即写入主存，<br />只有当此块被换出时才写回主存。</td>
</tr>
<tr>
<td>特点</td>
<td></td>
<td>每个Cache必须设置一个标志位（脏位）</td>
</tr>
<tr>
<td>缺点</td>
<td>增加了访存次数，降低了Cache的效率。</td>
<td>存在Cache和主存数据不一致的隐患。</td>
</tr>
</tbody>
</table></div>
<h5 id="2_11">2. 写不命中</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>写分配法</th>
<th>非写分配法</th>
</tr>
</thead>
<tbody>
<tr>
<td>加载主存中的块到Cache，然后更新这个Cache块。</td>
<td>只写入主存，不进行调块。</td>
</tr>
<tr>
<td>写回法</td>
<td>全写法</td>
</tr>
</tbody>
</table></div>
<h3 id="7_1">7.虚拟存储器</h3>
<h4 id="1_13">1、虚拟存储器的基本概念</h4>
<h4 id="2_12">2、页式虚拟存储器</h4>
<h4 id="3tlb">3、加快地址转换：快表（TLB）</h4>
<h4 id="4_3">4、段式虚拟存储器</h4>
<h4 id="5cache">5、虚拟存储器与Cache比较</h4>
<ol>
<li>解决的问题不同：Cache解决的是<strong>速度问题</strong>，虚拟存储器解决的是<strong>容量问题</strong>。</li>
<li>实现和透明不同：Cache完全由硬件实现，并且对所有程序员透明；虚拟存储器由OS和硬件共同实现，是逻辑上的存储器，对系统程序员不透明，对应用程序员还是透明的。</li>
<li>不命中性能影响不一样：CPU的速度约为Cache的速度的10倍，主存的速度为硬盘的速度的100倍以上，故虚拟存储器不命中时性能影响更大。</li>
<li>直接通路：CPU与主存有直接通路，如果Cache未命中，可以直接与主存通信；而辅存与cpu没有直接通路，虚拟存储系统未命中时，只能有硬盘先调入主存中，不可直接通信。</li>
</ol>
<h2 id="_8">知识点</h2>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.【2014年考研408第16题】指令Cache和数据Cache分离的主要目的是：【减少指令流水线资源冲突】。<br />指令Cache和数据Cache分离后，取指和取数分别到不同的Cache中寻找，那么指令流水线中取指部分和取数部分就可以很好的避免冲突。</td>
</tr>
<tr>
<td>2.【2014年考研408第28题】能加快虚实地址转换的措施：(1)(2)<br /><strong>(1) 增大快表（TLB）的容量（✔︎）<br />(2) 让页表常驻内存（✔︎）<br /></strong>(3) 增大交换区（swap）（无影响）</td>
</tr>
<tr>
<td>3.【2011统考真题】不采用随机存取方式的是【CD-ROM】。</td>
</tr>
<tr>
<td>4. 80386DX是32位系统，以4B为编址单位，在该系统中用8KB（<script type="math/tex">8K*8bit</script>）的存储芯片构造32KB的存储体<strong>（补充：应该理解为是按字节寻址的）</strong>，应该完成存储器的【位扩展】设计。<br /><br />&gt; 位扩展<script type="math/tex">8K*8bit\to8K*32bit=32KB</script>
</td>
</tr>
<tr>
<td>5. 存储器的容量：<script type="math/tex">2^{地址线数}*数据线数</script>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table></div>
<h2 id="_9">第四章 指令系统</h2>
<h3 id="1_14">1.指令格式</h3>
<h4 id="1_15">1、指令的基本格式</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>字长32位</th>
<th>指令含义</th>
<th>8位</th>
<th></th>
<th></th>
<th></th>
<th></th>
<th>直接寻址</th>
</tr>
</thead>
<tbody>
<tr>
<td>零地址指令</td>
<td></td>
<td>
<script type="math/tex">OP</script>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>一地址指令</td>
<td>
<script type="math/tex">OP(A_1)\to A_1</script>
</td>
<td>
<script type="math/tex">OP</script>
</td>
<td>
<script type="math/tex">A_1</script>
</td>
<td></td>
<td></td>
<td></td>
<td>
<script type="math/tex">2^{24}</script>
</td>
</tr>
<tr>
<td>二地址指令</td>
<td>
<script type="math/tex">(A_1)OP(A_2)\to A_1</script>
</td>
<td>
<script type="math/tex">OP</script>
</td>
<td>
<script type="math/tex">A_1</script>
</td>
<td>
<script type="math/tex">A_2</script>
</td>
<td></td>
<td></td>
<td>
<script type="math/tex">2^{12}</script>
</td>
</tr>
<tr>
<td>三地址指令</td>
<td>
<script type="math/tex">(A_1)OP(A_2)\to A_3</script>
</td>
<td>
<script type="math/tex">OP</script>
</td>
<td>
<script type="math/tex">A_1</script>
</td>
<td>
<script type="math/tex">A_2</script>
</td>
<td>
<script type="math/tex">A_3</script>（结果）</td>
<td></td>
<td>
<script type="math/tex">2^8</script>
</td>
</tr>
<tr>
<td>四地址指令</td>
<td>
<script type="math/tex">(A_1)OP(A_2)\to A_3</script>
</td>
<td>
<script type="math/tex">OP</script>
</td>
<td>
<script type="math/tex">A_1</script>
</td>
<td>
<script type="math/tex">A_2</script>
</td>
<td>
<script type="math/tex">A_3</script>（结果）</td>
<td>
<script type="math/tex">A_4</script>（下址）</td>
<td>
<script type="math/tex">2^6</script>
</td>
</tr>
</tbody>
</table></div>
<h4 id="2_13">2、定长操作码指令格式</h4>
<p>
<script type="math/tex">n</script>位操作码字段可以表示<script type="math/tex">2^n</script>条指令。</p>
<h4 id="3_8">3、扩展操作码指令格式</h4>
<p>操作码的位数根据地址数的减少而增加。</p>
<p>注意要点：</p>
<ol>
<li>不允许短码是长码的前缀，即短操作码不能与长操作码的前面部分的代码相同。</li>
<li>各指令的操作码一定不能重复。</li>
</ol>
<h3 id="2_14">2.指令的寻址方式</h3>
<h4 id="1_16">1、指令寻址和数据寻址</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>指令寻址方式</th>
<th>方式</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 顺序寻址</td>
<td>程序计数器(PC)+1，自动指向下一条指令。</td>
</tr>
<tr>
<td>2. 跳跃寻址</td>
<td>通关转移指令改变程序计数器(PC)，最终地址依然由(PC)给出。</td>
</tr>
</tbody>
</table></div>
<blockquote class="content-quote">
<ol>
<li>跳跃寻址有利于实现程序的【无条件转移和条件转移】。</li>
</ol>
</blockquote>
<h4 id="2_15">2、常见的数据寻址方式</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>数据寻址方式</th>
<th>地址字段</th>
<th>实际地址</th>
<th>访问次数</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 隐含寻址</td>
<td></td>
<td></td>
<td>0</td>
</tr>
<tr>
<td>2. 立即数寻址</td>
<td>#操作数本身（立即数，补码形式）</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td>3. 直接寻址</td>
<td>操作数的地址</td>
<td>
<script type="math/tex">EA=A</script>
</td>
<td>1</td>
</tr>
<tr>
<td>4. 间接寻址</td>
<td>操作数<strong>地址</strong>的地址</td>
<td>
<script type="math/tex">EA=(A)</script>
</td>
<td>2</td>
</tr>
<tr>
<td>5. 寄存器寻址</td>
<td>操作数所在<strong>寄存器编号</strong></td>
<td>
<script type="math/tex">EA=R_i</script>
</td>
<td>0</td>
</tr>
<tr>
<td>6. 寄存器简介寻址</td>
<td>操作数<strong>地址</strong>所在<strong>寄存器编号</strong></td>
<td>
<script type="math/tex">EA=(R_i)</script>
</td>
<td>1</td>
</tr>
<tr>
<td>7. 相对寻址</td>
<td>形式地址A（补码表示）</td>
<td>
<script type="math/tex">EA=程序计数器(PC)+A</script>
</td>
<td>1</td>
</tr>
<tr>
<td>8. 基址寻址（面向操作系统）</td>
<td>形式地址A</td>
<td>
<script type="math/tex">EA=基址寄存器(BR)+A</script>
</td>
<td>1</td>
</tr>
<tr>
<td>9. 变址地址（面向用户）</td>
<td>形式地址A</td>
<td>
<script type="math/tex">EA=变址寄存器(IX)+A</script>
</td>
<td>1</td>
</tr>
<tr>
<td>10. 堆栈寻址</td>
<td></td>
<td>
<script type="math/tex">EA=堆栈指针(SP)</script>
</td>
<td></td>
</tr>
</tbody>
</table></div>
<h4 id="3x86">3、X86汇编指令入门</h4>
<p>相关寄存器</p>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>16bit</th>
<th>32bit</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>AX</td>
<td>EAX</td>
<td>累加器（Accumulator）</td>
</tr>
<tr>
<td>BX</td>
<td>EBX</td>
<td>基地址寄存器（Base Register）</td>
</tr>
<tr>
<td>CX</td>
<td>ECX</td>
<td>计数寄存器（Count Register）</td>
</tr>
<tr>
<td>DX</td>
<td>EDX</td>
<td>数据寄存器（Index Register）</td>
</tr>
<tr>
<td></td>
<td>ESI</td>
<td>变址寄存器（Index Register）</td>
</tr>
<tr>
<td></td>
<td>EDI</td>
<td>变址寄存器（Index Register）</td>
</tr>
<tr>
<td></td>
<td>EBP</td>
<td>堆栈基指针（Base Pointer）</td>
</tr>
<tr>
<td></td>
<td>ESP</td>
<td>堆栈顶指针（Stack Pointer）</td>
</tr>
</tbody>
</table></div>
<h3 id="3ciscrisc">3.CISC和RISC的基本概念</h3>
<h4 id="1cisc">1、复杂指令系统计算机（CISC）</h4>
<p>复杂指令集（CISC，Complex InstructionSet Computer）</p>
<h4 id="2risc">2、精简指令系统计算机（RISC）</h4>
<p>精简指令集（RISC，Reduced Instruction Set Computer）</p>
<h4 id="3ciscrisc_1">3、CISC和RISC的比较</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>CISC</th>
<th>RISC</th>
</tr>
</thead>
<tbody>
<tr>
<td>指令集</td>
<td></td>
<td>RISC处理器减少指令集的种类，只提供<strong>固定长度</strong>的简单指令，大多都在一个始终周期内完成。</td>
</tr>
<tr>
<td>寄存器</td>
<td>CISC的寄存器都是用于特定目的的。X86有<strong>8</strong>个32位通用寄存器。</td>
<td>RISC的寄存器拥有<strong>更多的</strong>通用寄存器，寄存器操作较多，例如MIPS提供了32个通用寄存器，ARM提供了27个通用寄存器。</td>
</tr>
<tr>
<td>控制方式</td>
<td>一般为微程序控制。</td>
<td>一般为组合逻辑控制。</td>
</tr>
<tr>
<td>内存访问</td>
<td>CISC能够在存储器中直接运行。</td>
<td>RISC没有实现可以操作内存变量的指令。<br />RISC内存引用总是通过<strong>load</strong>指令将内存变量加载到寄存器，通过<strong>store</strong>指令将寄存器中的值写回到内存，大型寄存器堆使得这不会成为一个大问题。</td>
</tr>
<tr>
<td>寻址方式</td>
<td></td>
<td>简化的寻址方式：RISC不像CISC那样的复杂众多的寻址方式。例如MIPS只有<strong>一种</strong>数据寻址模式，几乎所有的加载和存储的内存地址都是通过单个基址寄存器的值加上一个16位的有符号偏移量来选择。</td>
</tr>
<tr>
<td>流水线</td>
<td>CISC指令的执行需要调用一个<strong>微码</strong>，明显没有RISC的指令吞吐量大。</td>
<td>高效的流水线：固定的指令长度、大型寄存器堆和load/store结构可充分发挥流水线特性。<br />在并行处理方面RISC明显优于CISC，RISC可同时执行多条指令，它可将一条指令分割成若干个进程或线程，交由多个处理器同时执行。由于RISC执行的是精简指令集，所以它的制造工艺简单且成本低廉。</td>
</tr>
<tr>
<td>子程序调用</td>
<td>CISC中，程序调用返回时需要将上下文保存到堆栈中，push/pop指令需要访问内存操作。</td>
<td>RISC没有提供push/pop支持，将它们存放在寄存器中，而且参数也是用寄存器传递。</td>
</tr>
<tr>
<td>中断</td>
<td>CISC发生中断时，所有的寄存器内容都被压入堆栈中。</td>
<td>RISC对中断进行区分对待，分为<strong>轻量级</strong>和<strong>重量级</strong>。对于轻量级中断只保存需要保存的寄存器内容；对于重量级中断的处理如同常规中断。</td>
</tr>
<tr>
<td>缺点</td>
<td></td>
<td>代码密度不高，可执行文件体积较大，汇编代码可读性差。<br />代码密度不高是值得关注的问题：若不使用cache，会需要更大的指令存储控件，取指时也占用更大的内存带宽；若采用cache，又会降低cache的命中率。</td>
</tr>
</tbody>
</table></div>
<h5 id="_10">指令集</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>指令集</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>x86</strong>硕大的大象</td>
<td>Intel x86是经典的<strong>CISC</strong>体系结构。</td>
</tr>
<tr>
<td><strong>ARM</strong>稳扎稳打的蚁群</td>
<td>ARM（Acorn <strong>RISC</strong>Machine）独领风骚，占据了手机市场90%以上的份额。当今手机上的应用处理器，不管是高通还是TI的，东芝还是三星的，在内部都采用了ARM内核。<br />ARM11之后的处理器家族改称为<strong>Cortex，</strong>并针对高、中、低阶划分为<strong>A、R、M</strong>三大系列处理器。高阶智能手机普遍采用Coretex-A系列，例如苹果iPhone 4、4s和5所采用的A4/A5/A6处理器，设计结构分别是Cortex-A8/Cortex-A9/非标准ARM，都是基于指令集：ARMv7 (Cortex)。</td>
</tr>
<tr>
<td><strong>MIPS</strong>优雅的孔雀</td>
<td>如果要说最经典的RISC处理器，那么非MIPS莫属，就连它的竞争对手，也不得不承认它的优雅，它被作为处理器教科书的典范，很多其他的处理器，都能看到它的身影。<br />MIPS全称为Microprocessor without Interlocked Piped Stages，无内部互锁流水级的微处理器。</td>
</tr>
<tr>
<td><strong>Power</strong>昔日的贵族</td>
<td>最早提出RISC思想的是IBM公司，PowerPC是一种RISC多发射体系结构。</td>
</tr>
<tr>
<td><strong>C6000</strong>偏安一隅的独立王国</td>
<td>还有一种较专业的处理器，它的名字叫DSP（Digital SignalProcessor，数字信号处理器），专业做信号处理运算的。<br />这几年，全球的无线通信网络建设如火如荼，视频网站、视频通信系统也如雨后春笋般涌现出来，在这些产品或服务的背后，一个是无线通信技术，一个是音视频技术，这二者的共同点在于：它们都需要大量的信号处理运算，而这正是DSP的强项。</td>
</tr>
</tbody>
</table></div>
<h3 id="_11">知识点</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 在多道程序设计中，最重要的寻址方式是【相对寻址】（相对寻址有利于程序浮动）。</td>
</tr>
<tr>
<td>2.【2011年考研408】不属于偏移寻址（某个寄存器的内容+形式地址）的方式是【间接寻址】。相对寻址、基址寻址、变址地址均为偏移寻址。</td>
</tr>
<tr>
<td>3.【2017年考研408】最适合按下标顺序访问同一数组元素的是【变址寻址】。</td>
</tr>
<tr>
<td>4.【2014年考研408】某计算机由16个通用寄存器，采用32位定长指令字，操作码字段为8位，Store指令原操作数和目的操作数分别采用<strong>寄存器直接寻址</strong>，<strong>基址寻址</strong>方式。若基址寄存器可以采用任意通用寄存器，且偏移量用补码表示，则Store指令中的偏移量的取值范围为（A）<br />【A. -32768~32767】  B. -32767~32768 ✘   C. -65536~65535    D. -65535~65536 ✘<br /><br />&gt; 偏移取值范围需要用补码表示，B，D明显错误。<br />&gt; 16个通用寄存器寻址需要用4位，寄存器直接寻址<strong>，</strong>基址寻址方式均需要对寄存器寻址，故用掉8位。<br />&gt; 实际剩余32-8-8=16位，补码表示为-32768~32767</td>
</tr>
<tr>
<td>5.【2017年考研408】某计算机按字节编址，指令字长固定且只有两种指令格式，其中三地址指令29条，二地址指令107条，每个地址字段为6位，则指令字长至少应该为（A）<br />【A. 24位】，B. 26位，C. 28位，D.32位<br /><br />&gt; 按字节编址，则指令字长应该为字节的整数倍，<strong>故（B. 26位，C. 28位）错误</strong>。<br />&gt; 三地址指令29条，需要5位操作码字段来表示。（<script type="math/tex">2^5=32>29</script>），则总共需要<script type="math/tex">5+6*3=23</script><br />&gt; 二地址指令的实际操作码可表示条数为<script type="math/tex">(32-9=3)*(2^6)=192</script>条<script type="math/tex">\gt107</script>条。（三地址指令用剩的3条乘二地址指令不用的6位地址64条）</td>
</tr>
<tr>
<td>6.【2013年考研408】假设变址寄存器R的内容为1000H，指令中的形式地址为2000H；地址1000H中的内容为2000H，地址2000H中的内容为3000H，地址3000H中的内容为4000H。则变址寻址方式访问到的操作数为【4000H】<br /><br />&gt; 变址寻址方式：<script type="math/tex">EA = (R) + A = 1000H + 2000H = 3000H</script>，即操作数的地址为3000H，对应的操作数为4000H。</td>
</tr>
<tr>
<td>7.【2016年考研408】某指令的格式为<script type="math/tex">[OP][M][I][D]</script>，若采用先<strong>变址</strong>后<strong>间接寻址</strong>的寻址方式，则操作数的有效地址是【<script type="math/tex">((I)+D)</script>】<br /><br />&gt; 变址寻址：<script type="math/tex">(I) + D</script><br />&gt; 间接寻址：<script type="math/tex">((I)+D)</script>
</td>
</tr>
<tr>
<td>8.【2018年考研408】按字节编址的计算机中，某double类型数组A的首地址为2000H，使用<strong>变址寻址</strong>和循环结构访问数组A，保存数组下标的变址寄存器的初值为0，每次循环取一个数组元素，其偏移地址为：<script type="math/tex">变址值*sizeof(double)</script>，取完后变址寄存器的内容自动+1，若某次循环所取元素的地址为2100H，则进入该次循环时变址寄存器的内容为【32】<br /><br />&gt; 注意当前元素所在偏移字节数：<script type="math/tex">2100H-2000H=100H=10H*10H=16D*16D=256D</script>（字节）<br />&gt; <script type="math/tex">sizeof(double)=8</script>（字节）<br />&gt; <script type="math/tex">256 / 8 = 32</script>
</td>
</tr>
<tr>
<td>9.【2019年考研408】某计算机采用<strong>大端方式，</strong>按字节编址。某指令中操作数的机器数为<script type="math/tex">12\ 34\ FF\ 00\ H</script>，该操作数采用基址寻址方式，形式地址为<script type="math/tex">FF12\ H</script>，基址寄存器的内容为<script type="math/tex">F000\ 0000\ H</script>，则该操作数的LSB所在地址是【<script type="math/tex">EFFF\ FF15\ H</script>】<br /><br />&gt; <script type="math/tex">FF12\ H = 1111\ 1111\ 0001\ 0010\ H = - 00EE\ H</script> <br />&gt; <script type="math/tex">F000\ 0000\ H - 00EE\ H = EFFF\ FF12\ H</script><br />&gt; 大端方式：<br /><script type="math/tex">(EFFF\ FF12\ H) = 12H</script><br /><script type="math/tex">(EFFF\ FF13\ H) = 34H</script><br /><script type="math/tex">(EFFF\ FF14\ H) = FFH</script><br /><script type="math/tex">(EFFF\ FF15\ H) = 00H</script>
</td>
</tr>
</tbody>
</table></div>
<h2 id="_12">第五章 中央处理器</h2>
<h3 id="1cpu">1.CPU的功能和基本结构</h3>
<h4 id="1cpu_1">1、CPU的功能</h4>
<ol>
<li>指令控制</li>
<li>操作控制</li>
<li>时间控制</li>
<li>数据加工</li>
<li>中断处理</li>
</ol>
<h4 id="2cpu">2、CPU的基本结构</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>1. 运算器</th>
<th>缩写</th>
<th>对程序员</th>
<th>对程序员</th>
<th>缩写</th>
<th><strong>2. 控制器</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>算术逻辑单元</td>
<td>ALU</td>
<td></td>
<td></td>
<td>PC</td>
<td><strong>程序计数器</strong></td>
</tr>
<tr>
<td>暂存寄存器</td>
<td></td>
<td>透明</td>
<td>透明</td>
<td>IR</td>
<td><strong>指令寄存器</strong></td>
</tr>
<tr>
<td>累加寄存器</td>
<td>ACC</td>
<td></td>
<td>透明</td>
<td></td>
<td>指令译码器</td>
</tr>
<tr>
<td>通用寄存器</td>
<td>AX、BX、CX、DX、SP</td>
<td></td>
<td>透明</td>
<td>MAR</td>
<td>存储器地址寄存器</td>
</tr>
<tr>
<td><strong>程序状态字寄存器</strong></td>
<td>PSW</td>
<td></td>
<td>透明</td>
<td>MDR</td>
<td>存储器数据寄存器</td>
</tr>
<tr>
<td>移位器</td>
<td></td>
<td></td>
<td>透明</td>
<td></td>
<td>时序系统</td>
</tr>
<tr>
<td>计数器</td>
<td>CT</td>
<td></td>
<td>透明</td>
<td></td>
<td>微操作信号发生器</td>
</tr>
</tbody>
</table></div>
<h3 id="2_16">2.指令执行过程</h3>
<h4 id="1_17">1、指令周期</h4>
<h4 id="2_17">2、指令周期的数据流</h4>
<h4 id="3_9">3、指令执行方案</h4>
<h3 id="3_10">3.数据通路的功能和基本结构</h3>
<h4 id="1_18">1、数据通路的功能</h4>
<p>数据通路：数据在功能部件之间传送的路径。</p>
<p>数据通路部件：ALU、通用寄存器、状态寄存器、异常和中断处理逻辑&hellip;</p>
<p>数据通路<strong>功能</strong>：实现CPU<strong>内部</strong>的<strong>运算器与寄存器及寄存器之间</strong>的<strong>数据交换</strong>。</p>
<h4 id="2_18">2、数据通路的基本结构</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>基本结构</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. CPU内部单总线方式</td>
<td>将所有寄存器的输入端和输出端都连接到<strong>一条</strong>公共通路上。</td>
</tr>
<tr>
<td>2. CPU内部三总线方式</td>
<td>将所有寄存器的输入端和输出端都连接到<strong>多条</strong>公共通路上。</td>
</tr>
<tr>
<td>3. 专用数据通路方式</td>
<td>根据指令执行过程中的数据和地址的流动方向安排连接线路，避免使用总线的共享。</td>
</tr>
</tbody>
</table></div>
<blockquote class="content-quote">
<p>内部总线：同一部件，如CPU内部连接各寄存器及运算部件之间的总线。</p>
<p>系统总线：同一台计算机系统的各部件，如CPU、内存、通道、各种I/O接口之间互相连接的总线。</p>
</blockquote>
<h3 id="4_4">4.控制器的功能和工作原理</h3>
<h4 id="1_19">1、控制器的结构和功能</h4>
<p><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/FADEDCA5DDB4B0370FE0A9A4BFFB86A5.jpg" alt="FADEDCA5DDB4B0370FE0A9A4BFFB86A5" style="zoom:50%;" /></p>
<h5 id="_13">功能：</h5>
<ol>
<li>从主存中取出一条指令，并指出下一条指令在主存中的位置。</li>
<li>对指令进行译码或测试。产生相应的操作控制信号，以便启动规定动作。</li>
<li>指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。</li>
</ol>
<h4 id="2_19">2、硬布线控制器</h4>
<blockquote class="content-quote">
<p>（组合逻辑控制器）</p>
</blockquote>
<h5 id="1_20">1.基本原理</h5>
<p>根据指令的要求、当前的时许以及外部和内部的状态，按时间的顺序发送一系列微操作控制信号。</p>
<p><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/4F3BFD00DEDDDA64E3B29992682F0891-6365550.jpg" alt="4F3BFD00DEDDDA64E3B29992682F0891" style="zoom:67%;" /></p>
<h5 id="2_20">2.硬布线控制器的时序系统及微操作</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>时序系统</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>时钟周期</td>
<td></td>
</tr>
<tr>
<td>机器周期</td>
<td>所有指令执行过程中的一个基准时间。通常以存取周期为机器周期。</td>
</tr>
<tr>
<td>指令周期</td>
<td></td>
</tr>
<tr>
<td>微操作命令分析</td>
<td>控制单元具有发出各种操作命令（控制信号）序列的功能。</td>
</tr>
</tbody>
</table></div>
<h5 id="3cpu">3.CPU的控制方式</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>控制方式</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>同步控制方式</td>
<td>系统有一个统一的时钟，所有控制信号均来自这个同一的时钟信号。</td>
</tr>
<tr>
<td>异步控制方式</td>
<td>不存在基准时标信号，各个部件按自身固有的速度工作，通过<strong>应答方式</strong>进行联络。</td>
</tr>
<tr>
<td>联合控制方式</td>
<td>对各种不同的微操作实行<strong>大部分</strong>采用同步控制、<strong>小部分</strong>采用异步控制方式。</td>
</tr>
</tbody>
</table></div>
<h4 id="3_11">3、微程序控制器</h4>
<blockquote class="content-quote">
<p>一般来说，n中指令操作，对应n+1种微程序。（+1为公共的取指令微程序）</p>
<p>此外可以有公共的<strong>中断微程序</strong>和间址周期微程序。</p>
<p>注意看题目描述！！</p>
</blockquote>
<p>微程序存放在微程序存储器中，是微程序控制器的核心部件，是CPU的一部分，不属于主存。</p>
<h5 id="1_21">1.微指令的编码方式</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>直接编码（直接控制）方式</th>
<th>字段直接编码方式</th>
<th>字段间接编码方式</th>
</tr>
</thead>
<tbody>
<tr>
<td>图示</td>
<td><img class="pure-img" alt="207BC1FBDD77BEA43B6AD5919B4B4EAA" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/207BC1FBDD77BEA43B6AD5919B4B4EAA.jpg" /></td>
<td><img class="pure-img" alt="78A57DE26186D3DEE9218F7227137DEC" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/78A57DE26186D3DEE9218F7227137DEC.jpg" /></td>
<td>（隐式编码）</td>
</tr>
<tr>
<td>描述</td>
<td>直接编码无需译码，微指令的微命令字段中的每一位都代表一个微命令。</td>
<td>将微指令的微命令字段分成若干小字段：<br />1. 把<strong>互斥性</strong>微命令组合在同一字段中。<br />2. 把<strong>相容性</strong>微命令组合在不同的字段中。</td>
<td>一个字段的某些命令需要另一个字段的某些微命令来解释。</td>
</tr>
<tr>
<td>优点</td>
<td>简单直观，执行速度快，操作并行性好。</td>
<td>缩短微指令字长。</td>
<td>进步缩短微指令字长。</td>
</tr>
<tr>
<td>缺点</td>
<td>微指令字长过长，造成控制器存储容量极大。</td>
<td>比直接编码方式慢。（需要译码）</td>
<td>削弱了微指令的并行处理能力。</td>
</tr>
</tbody>
</table></div>
<h5 id="2_21">2.微指令的格式</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>水平型微指令</th>
<th>垂直型微指令</th>
<th>混合型微指令</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td>直接编码（直接控制）方式、字段直接编码方式、字段间接编码方式、混合编码方式都属于水平型微指令。</td>
<td></td>
<td>在垂直型微指令的基础上增加一些不太复杂的并行操作。</td>
</tr>
<tr>
<td>图示</td>
<td><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/123123131.png" alt="123123131" style="zoom:50%;" /></td>
<td><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/12312312.png" alt="12312312" style="zoom:50%;" /></td>
<td></td>
</tr>
<tr>
<td>优点</td>
<td><strong>微程序</strong>短，执行速度快。</td>
<td>微指令短，简单，规整，便于编写微程序。</td>
<td>微指令较短。<br />微程序也不长。</td>
</tr>
<tr>
<td>缺点</td>
<td>微指令长，编写微程序比较麻烦。</td>
<td><strong>微程序</strong>长，执行速度慢。</td>
<td></td>
</tr>
</tbody>
</table></div>
<h4 id="4_5">4、硬布线控制器和微程序控制器比较</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>类别</th>
<th>硬布线控制器</th>
<th>微程序控制器</th>
</tr>
</thead>
<tbody>
<tr>
<td>工作原理</td>
<td>微操作控制信号<br />由<strong>组合逻辑电路</strong><br />根据当前的指令码、状态和时序，<br />即使产生</td>
<td>微操作控制信号<br />以<strong>微程序</strong>的形式<br />存放在控制存储器中，<br />执行指令时读出</td>
</tr>
<tr>
<td>执行速度</td>
<td>块</td>
<td>慢</td>
</tr>
<tr>
<td>规整性</td>
<td>不规整</td>
<td>较规整</td>
</tr>
<tr>
<td>应用场合</td>
<td>RISC CPU</td>
<td>CISC CPU</td>
</tr>
<tr>
<td>易扩展性</td>
<td>困难</td>
<td>容易</td>
</tr>
</tbody>
</table></div>
<h3 id="_14">知识点</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.【2014年统考真题】某计算机采用用微程序控制器，共有<strong>32条指令</strong>，公共的<strong>取指令微程序</strong>包含<strong>2条微指令</strong>，<strong>各指令</strong>（指计算机指令，非微指令）对应的微程序（一个指令对应一个微程序）平均由<strong>4条微指令组成</strong>，采用断定法（下地址字段法）确定下条微指令地址，则微指令中地址字段的位数至少为【8】<br /><br />&gt; <script type="math/tex">32*4+2=130<2^8</script>
</td>
</tr>
<tr>
<td>指令（微程序（微指令））</td>
</tr>
<tr>
<td>2. 某<strong>带中断</strong>的计算机指令系统共有101中操作，采用微程序控制方式，控制存储器中相应最少有【103】个微程序。<br /><br />&gt; 一般来说，n中操作应该有n+1个微程序。<br />&gt; 在本题中，有说是带中断的计算机，因此微程序个数为n+2.</td>
</tr>
</tbody>
</table></div>
<h3 id="5_2">5.指令流水线</h3>
<h4 id="1_22">1、指令流水线的基本概念</h4>
<p><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/C6E32ACA31A56386526E80FE1C9C04CE.jpg" alt="C6E32ACA31A56386526E80FE1C9C04CE" style="zoom:67%;" /></p>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>执行方式</th>
<th>图示</th>
<th>时间</th>
</tr>
</thead>
<tbody>
<tr>
<td>顺序执行</td>
<td><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/截屏2020-11-26 09.11.05.png" alt="截屏2020-11-26 09.11.05" style="zoom:33%;" /></td>
<td>
<script type="math/tex">T=3nt</script>
</td>
</tr>
<tr>
<td>一次重叠执行</td>
<td><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/截屏2020-11-26 09.11.14.png" alt="截屏2020-11-26 09.11.14" style="zoom:33%;" /></td>
<td>
<script type="math/tex">T=(1+2n)t</script>
</td>
</tr>
<tr>
<td>二次重叠执行</td>
<td><img class="pure-img" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/截屏2020-11-26 09.11.26-6353166.png" alt="截屏2020-11-26 09.11.26" style="zoom:33%;" /></td>
<td>
<script type="math/tex">T=(2+n)t</script>
</td>
</tr>
</tbody>
</table></div>
<h4 id="2_22">2、流水线的分类</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>根据流水线使用级别不同</th>
<th>描述</th>
<th>例如</th>
</tr>
</thead>
<tbody>
<tr>
<td>部件功能级</td>
<td>将复杂的算术逻辑运算组成流水线工作方式。</td>
<td>将浮点加法操作分成：<br />1.求阶差、2.对阶、3.位数相加、4.结果规格化。</td>
</tr>
<tr>
<td>处理机级</td>
<td>把一条指令解释分成多个字过程。</td>
<td>取指、译码、访存、写回</td>
</tr>
<tr>
<td>处理机间级</td>
<td>（一种宏流水线）每个处理机完成某一专门任务，各个处理机得到的结果存放在余下一个处理机共享的存储器中。</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>根据可以完成的功能数</strong></td>
<td></td>
<td></td>
</tr>
<tr>
<td>单功能</td>
<td>只能实现一种<strong>固定</strong>的专门功能的流水线。</td>
<td></td>
</tr>
<tr>
<td>多功能</td>
<td>通过各段间的不同连接方式可以同时或不同时的实现多种功能的流水线。</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>根据同一时间内各段之间的连接方式</strong></td>
<td></td>
<td></td>
</tr>
<tr>
<td>静态</td>
<td><strong>在同一时间内</strong>，流水线的各段只能按同一功能的连接方式工作。</td>
<td></td>
</tr>
<tr>
<td>动态</td>
<td><strong>在同一时间内</strong>，当某段正在实现某种运算时，另一段却在进行另一种运算。</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>根据流水线的各个功能段之间是否有反馈信号</strong></td>
<td></td>
<td></td>
</tr>
<tr>
<td>线性</td>
<td>从输入到输出，每个功能段只经过一次，不存在反馈回路。</td>
<td></td>
</tr>
<tr>
<td>非线性</td>
<td>存在反馈回路。<strong>（适合进行线性递归运算）</strong></td>
<td></td>
</tr>
</tbody>
</table></div>
<blockquote class="content-quote">
<p>流水线的每个子过程由专用的功能段实现，各段所需时间应尽量相等。<strong>否则，时间长的功能段将成为流水线的瓶颈。</strong></p>
<p><strong>即：CPU的时钟周期应该由最长的流水线功能段需要的时间决定（+延迟时间）。</strong></p>
</blockquote>
<h4 id="3_12">3、影响流水线的因素</h4>
<h5 id="1_23">1. 资源冲突</h5>
<h5 id="2_23">2. 控制相关（数据相关、控制相关）</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>数据冲突（数据冒险）</th>
<th>控制冲突（控制冒险）</th>
</tr>
</thead>
<tbody>
<tr>
<td>定义</td>
<td><strong>下一条指令会用到这一条指令计算出的结果。</strong></td>
<td><strong>一条指令要确定下一条指令的位置。</strong></td>
</tr>
<tr>
<td>例子</td>
<td></td>
<td>转移、调用、返回指令会改变PC值，造成断流。</td>
</tr>
<tr>
<td>解决</td>
<td>1. 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期。<br />硬件阻塞（stall）软件插入（NOP）</td>
<td>1. 对转移指令进行分支预测，尽早生成转移目标地址。<br /><br />分支预测分为：1.简单（静态）预测，2.动态预测。</td>
</tr>
<tr>
<td></td>
<td>2. 设置相关专用通路。<br />即不等前一条指令把计算结果写回寄存器组。<br />下一条指令也不再读取寄存器组，而直接把前一条指令的ALU计算结果直接作为直接的输入数据开始计算。<br /><br />使本来需要暂停的操作变得可以继续执行，称为<strong>数据旁路</strong>技术。</td>
<td>2. 预取转移成功和不成功两个控制流方向上的目标指令。</td>
</tr>
<tr>
<td></td>
<td>3. 通过编译其对数据相关的指令编译优化，调整指令顺序来解决数据相关。</td>
<td>3. 加快和提前形成条件码。</td>
</tr>
<tr>
<td></td>
<td></td>
<td>4. 提高转移方向的猜准率。</td>
</tr>
</tbody>
</table></div>
<blockquote class="content-quote">
<p>Cache缺失的处理也会引起流水线<strong>阻塞</strong>。</p>
</blockquote>
<h4 id="4_6">4、流水线的性能指标</h4>
<h4 id="5_3">5、超标量流水线的基本概念</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>超标量流水线</th>
<th>超流水线</th>
</tr>
</thead>
<tbody>
<tr>
<td>每个时钟周期内可以发出多条<strong>独立指令</strong>，即以并行方式将两条或多条指令编译执行。</td>
<td>在一个时钟周期内<strong>再分段</strong>，在一个时钟周期内一个功能部件使用多次。</td>
</tr>
<tr>
<td>超标量计算机<strong>不能</strong>调整指令的<strong>执行顺序</strong>，可以通过编译优化技术，把可并行执行的指令搭配起来。</td>
<td><strong>不能</strong>调整指令的<strong>执行顺序，</strong>靠编译程序优化。</td>
</tr>
<tr>
<td><img class="pure-img" alt="C7284A4E514E6A6F98225C41CE501B4F" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/C7284A4E514E6A6F98225C41CE501B4F.jpg" /></td>
<td><img class="pure-img" alt="9A7046BA1390F90AD01D551A3493A722" src="https://zromyk.gitee.io/myblog-figurebed/post/计算机考研-计算机组成原理.assets/9A7046BA1390F90AD01D551A3493A722.jpg" /></td>
</tr>
</tbody>
</table></div>
<h5 id="_15">超长指令字</h5>
<p>由编译程序<strong>挖掘</strong>出指令间<strong>潜在的并行性</strong>，将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字，为此需要采用多个处理部件。</p>
<h3 id="_16">知识点</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.【2017考研408第16题】某计算机的主存空间为4GB，字长为32位，按字节编址，采用32位字长指令格式。若指令按字边界对齐存放，则程序计数器(PC)和指令寄存器(IR)的位数至少为【30、32位】<br /><br />&gt; PC需要的位数：字数<script type="math/tex">4GB/(32/8)B=2^{30}</script>，即需要30位。<br />&gt; IR需要的位数：指令的位数，即32位。</td>
</tr>
<tr>
<td>2.【2017年考研408第17题】下列关于超标量流水线特性的叙述中，正确的是：<br /><br />I. 能<u>缩短</u>流水线功能段的<u>处理时间</u>✘（不能缩短功能段的处理时间）<br />II. <strong>能在一个时钟周期内同时发射多条指令</strong>✔︎<br />III. <strong>能结合动调度技术提高指令执行并行性</strong>✔︎</td>
</tr>
<tr>
<td>3.【2009年统考真题】某计算机指令流水线由4个功能段组成，分别需要（90ns，80ns，70ns，60ns），则该计算机的CPU周期至少是【90ns】</td>
</tr>
<tr>
<td>4.【2010年统考真题】下列不会引起指令流水线阻塞的是【A. 数据旁路】<br /><br />&gt; B. 数据相关、C. 条件转移、D. 资源冲突，都会引起流水线阻塞，其中条件转移为控制相关（控制冒险）。</td>
</tr>
</tbody>
</table></div>
<h2 id="_17">第六章 总线</h2>
<h3 id="1_24">1.总线概述</h3>
<h4 id="1_25">1、总线的基本概念</h4>
<h5 id="1_26">1）总线的特点</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>特点</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>分时</td>
<td>同一时刻只允许有一个部件向总线发送信息，若系统中有多个部件，则他们只能分时地向总线发送信息。</td>
</tr>
<tr>
<td>共享</td>
<td>总线上可以挂接多个部件，各个部件之间相互交换的信息都可以通过这组线路分时共享。</td>
</tr>
</tbody>
</table></div>
<h5 id="2_24">2）总线设备</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>设备</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>主设备</td>
<td>获得总线控制权的设备。</td>
</tr>
<tr>
<td>从设备</td>
<td>被主设备访问的设备，它只能响应从主设备发来的各种总线命令。</td>
</tr>
</tbody>
</table></div>
<h5 id="3_13">3）总线特性</h5>
<h5 id="4_7">4）总线的猝发传送方式</h5>
<p>猝发传输：在一个总线周期内传输存储地址连续的多个数据字的总线的传输方式。</p>
<h4 id="2_25">2、总线的分类</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>分类</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 片内总线</td>
<td>CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。</td>
</tr>
<tr>
<td>2. 系统总线</td>
<td>计算机系统内各功能（CPU、主存、I/O接口）之间相互连接的总线。<br />1. 数据总线：位数与机器字长、存储字长有关。<br />2. 地址总线：位数与主存地址空间的大小有关。<br />3. 控制总线。</td>
</tr>
<tr>
<td>3. 通信总线</td>
<td>计算机系统之间或计算机系统与其他系统之间传送信息的总线。</td>
</tr>
</tbody>
</table></div>
<h4 id="3_14">3、系统总线结构</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>总线结构</th>
<th>包含</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 单总线结构</td>
<td>系统总线</td>
</tr>
<tr>
<td>2. 双总线结构</td>
<td>主存总线、I/O总线</td>
</tr>
<tr>
<td>3. 三总线结构</td>
<td>主存总线、I/O总线、DMA总线</td>
</tr>
</tbody>
</table></div>
<h4 id="4_8">4、总线的性能指标</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>性能指标</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>总线的传输周期（总线周期）</td>
<td>一次总线操作需要的时间</td>
</tr>
<tr>
<td>总线时钟周期</td>
<td>机器的时钟周期</td>
</tr>
<tr>
<td>总线的工作频率</td>
<td>
<script type="math/tex">1/一次总线操作需要的时间</script>
</td>
</tr>
<tr>
<td>总线的时钟频率</td>
<td>机器的时钟频率</td>
</tr>
<tr>
<td>总线宽度</td>
<td>总线位宽，如32位总线</td>
</tr>
<tr>
<td>总线带宽</td>
<td>
<script type="math/tex">总线工作频率*(总线宽度/8)</script>
</td>
</tr>
<tr>
<td>总线复用</td>
<td>使用较少的线传输<strong>更多</strong>的信息。</td>
</tr>
<tr>
<td>信号线数</td>
<td>地址总线、数据总线、控制总线3中总线数的总和。</td>
</tr>
</tbody>
</table></div>
<h3 id="2_26">2.总线仲裁</h3>
<h4 id="1_27">1、集中仲裁方式</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>集中仲裁方式</th>
<th>总线数目</th>
<th>总线请求</th>
<th>总线允许</th>
<th>总线忙</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 链式查询方式</td>
<td>3</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>2. 计数器定时查询方式</td>
<td>
<script type="math/tex">\log_2 n + 2</script>
</td>
<td>1</td>
<td>
<script type="math/tex">\log_2 n</script>
</td>
<td>1</td>
</tr>
<tr>
<td>3. 独立请求方式</td>
<td>
<script type="math/tex">2n+1</script>
</td>
<td>
<script type="math/tex">n</script>
</td>
<td>
<script type="math/tex">n</script>
</td>
<td>1</td>
</tr>
</tbody>
</table></div>
<h4 id="2_27">2、分布仲裁方式</h4>
<p>不需要中央仲裁器</p>
<h3 id="3_15">3.总线操作和定时</h3>
<h4 id="14">1、总线传输的4个阶段</h4>
<h4 id="2_28">2、同步定时方式</h4>
<h4 id="3_16">3、异步定时方式</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>类型</th>
<th>描述</th>
<th>缺点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. 不互锁方式</td>
<td>主设备发送“请求”信号，<strong>不必</strong>等到接到从设备的“回答”信号，而是经过一段时间便撤销“请求”信号。<br />从设备发出“回答”信号，<strong>不必</strong>等到知道主设备“请求”信号已撤销，而是经过一段时间撤销其“回答”信号。</td>
<td>可靠性差</td>
</tr>
<tr>
<td>2. 半互锁方式</td>
<td>主设备发送“请求”信号，<strong>必须</strong>接到从设备的“回答”信号，才能撤销“请求”信号。<br />从设备发出“回答”信号，<strong>不必</strong>等到知道主设备“请求”信号已撤销，而是经过一段时间撤销其“回答”信号。</td>
<td></td>
</tr>
<tr>
<td>3. 全互锁方式</td>
<td>主设备发送“请求”信号，<strong>必须</strong>接到从设备的“回答”信号，才能撤销“请求”信号。<br />从设备发出“回答”信号，<strong>必须</strong>在知道主设备“请求”信号已撤销后，再撤销其“回答”信号。</td>
<td>速度慢</td>
</tr>
</tbody>
</table></div>
<h3 id="4_9">4.总线标准</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>总线标准</th>
<th>名称</th>
<th>描述</th>
<th>系统总线</th>
<th>局部总线</th>
<th>设备总线</th>
<th>并行</th>
<th>串行</th>
</tr>
</thead>
<tbody>
<tr>
<td>ISA</td>
<td>工业标准体系结构</td>
<td>最早出现的微型计算机系统总线。</td>
<td>系统</td>
<td></td>
<td></td>
<td>并</td>
<td></td>
</tr>
<tr>
<td>EISA</td>
<td>扩展的ISA，完全兼容ISA</td>
<td>为配合32位CPU而设计的扩展总线。</td>
<td>系统</td>
<td></td>
<td></td>
<td>并</td>
<td></td>
</tr>
<tr>
<td>VESA</td>
<td>视频电子协会</td>
<td>32位标准局部总线<br />针对多媒体PC要求高速传输活动图像的大量数据而生。</td>
<td></td>
<td>局部</td>
<td></td>
<td>并</td>
<td></td>
</tr>
<tr>
<td>PCI</td>
<td>外部设备互连</td>
<td>高性能32位、64位总线<br />为高度集成的外围部件、扩充插板和处理器/存储器系统设计。</td>
<td></td>
<td>局部</td>
<td></td>
<td>并</td>
<td></td>
</tr>
<tr>
<td>AGP</td>
<td>加速图形接口</td>
<td>在PCI基础上发展而来的视频接口标准。</td>
<td></td>
<td>局部</td>
<td></td>
<td>并</td>
<td></td>
</tr>
<tr>
<td>PCI-Express</td>
<td>PCI-E</td>
<td>最新总线和接口标准。将全面取代PCI和AGP。</td>
<td></td>
<td>局部</td>
<td></td>
<td></td>
<td>串</td>
</tr>
<tr>
<td>RS-232</td>
<td>串行通信总线</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>串</td>
</tr>
<tr>
<td>USB</td>
<td>通用串行总线</td>
<td></td>
<td></td>
<td></td>
<td>设备</td>
<td></td>
<td>串</td>
</tr>
<tr>
<td>IDE</td>
<td>集成设备电路</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>SCSI</td>
<td>小型计算机系统接口</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>SATA</td>
<td>串行高级技术附件</td>
<td>基于行业标准的串行硬件驱动器接口。</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table></div>
<h3 id="_18">知识点</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.【2009年考研408】假设某系统总线在一个总线周期内并行传输4字节信息，一个总线周期占用2个时钟周期，总线时钟频率位10MHZ，则总线带宽是【20MB/s】<br /><br />&gt; <script type="math/tex">10(M/s)/2*4(B)=20(MB/s)</script>
</td>
</tr>
<tr>
<td>2.【2011年考研408】在系统总线的数据线上，不可能传输的是【握手（应答）信号】</td>
</tr>
<tr>
<td><strong>3.【2012年考研408】某同步总线的时钟频率位100MHz，宽度为32位，地址/数据线复用，每传输一个地址或数据占用一个时钟周期，若该总线支持突发（猝发）传输方式，则一次“主存写”总线事务传输128位数据需要的时间至少是【50ns】<br /></strong><br />&gt; “主存写”操作+猝发传输，需要先传输地址，然后再连续传输数据<br />&gt; 100MHz对应10ns<br />&gt; <script type="math/tex">(32位地址+128位数据)/32位宽 = 5</script><br />&gt; 共需要50ns</td>
</tr>
<tr>
<td>4.【2014年考研408】某同步总线采用数据和地址复用方式，其中地址/数据线有32根，总线时钟频率位66MHz，每个时钟周期传输两次数据（上升沿+下降沿）该总线的最大数据传输是【528MB/s】<br /><br />&gt; <script type="math/tex">66(M/s)*(32/8)(B)*2=528MB/s</script>
</td>
</tr>
<tr>
<td>5.【2015年考研408】下列有关<strong>总线定时</strong>的叙述中，错误的是【✘同步通信方式中，同步时钟信号可由各设备提供✘】<br /><br />&gt; ✔︎异步通信方式中：全互锁协议最<strong>慢</strong>。<br />&gt; ✔︎异步通信方式中：非互锁协议的<strong>可靠性最差</strong>。<br />&gt; ✔︎半通同步通信方式中：握手信号的采样由同步时钟控制。</td>
</tr>
<tr>
<td>6.【2016年考研408】下列有关<strong>总线设计</strong>的叙述中，错误的是【✘并行总线传输速率比串行总线传输速度快✘】<br /><br />&gt; ✔︎采用信号线复用技术可以减少信号线的数量。<br />&gt; ✔︎采用突发传输方式可以提高总线数据传输率。<br />&gt; ✔︎<strong>采用分离事务通信方式可以提高总线利用率。</strong></td>
</tr>
<tr>
<td>7.【2017年考研408】下列关于多<strong>总线结构</strong>的叙述中，错误的是【✘PCI-RxpressX16采用并行传输方式✘】<br /><br />&gt; ✔︎靠近CPU的总线速度较快。<br />&gt; ✔︎存储器总线可以支持突发传送方式。<br />&gt; ✔︎<strong>总线之间必须通过桥接器相连。</strong></td>
</tr>
<tr>
<td>8.【2018年考研408】可以提高同步总线数据传输率的是【I，II，III】<br /><br />I. ✔︎增加总线宽度<br />II. ✔︎提高总线工作频率<br />III. ✔︎支持突发传输<br />IIII. 采用地址/数据线复用</td>
</tr>
<tr>
<td>9.【2019年考研408】3通道存储器总线，配套的内存条型号DDR3-1333，即工作频率位1333MHz，总线宽度为64位，则存储器总线带宽大约是【32GB/s】<br /><br />&gt; <script type="math/tex">1333(M/s)*(64/8)(B)*3=32GB/s</script>
</td>
</tr>
</tbody>
</table></div>
<h2 id="_19">第七章 输入/输出系统</h2>
<h3 id="1io">1.I/O系统基本概念</h3>
<h4 id="1_28">1、输入/输出系统</h4>
<h4 id="2io">2、I/O控制方式</h4>
<h3 id="2_29">2.外部设备</h3>
<h4 id="1_29">1、输入设备</h4>
<h4 id="2_30">2、输出设备</h4>
<h4 id="3_17">3、外存设备</h4>
<h5 id="1_30">1）磁盘存储器</h5>
<p><strong>磁盘设备的组成</strong></p>
<ol>
<li>存储区域<ol>
<li>磁头数：表示硬盘有几个磁头，对应记录面数。</li>
<li>柱面数：表示硬盘上每个盘面有多少条磁道。</li>
<li>扇区数：每个磁道上有多少个扇区。</li>
</ol>
</li>
<li>硬盘存储器的组成<ol>
<li>磁盘驱动器：核心部件是磁头组件和盘片组件。</li>
<li>磁盘控制器：硬盘存储器和主机的接口，主流标准：IDE、SCSI、STAT</li>
</ol>
</li>
</ol>
<p><strong>磁盘格式</strong></p>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>驱动器号</th>
<th>柱面（磁道）号</th>
<th>盘面号</th>
<th>扇区号</th>
</tr>
</thead>
<tbody>
<tr>
<td>2bit</td>
<td>8bit</td>
<td>4bit</td>
<td>4bit</td>
</tr>
</tbody>
</table></div>
<p><strong>磁盘的性能指标</strong></p>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>磁盘的性能指标</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>磁盘容量</td>
<td>一个磁盘所能存储的字节总数。</td>
</tr>
<tr>
<td>记录密度</td>
<td>盘片单位面积上记录的二进制信息量，道密度，位密度，面密度。</td>
</tr>
<tr>
<td>平均存取时间</td>
<td>
<script type="math/tex">平均存取时间 = 寻道时间 + 旋转延迟时间 + 传输时间</script><br />寻道时间：磁头移动到目的磁道的时间。<br />旋转延迟时间：磁头定位到要读写山区的时间，取旋转周期的一半。<br />传输时间：数据传输所花费的时间。</td>
</tr>
<tr>
<td>数据传输率</td>
<td>
<script type="math/tex">数据传输率D_r字节/秒 = 磁盘转速r转/秒 * 每条磁道容量N字节</script>
</td>
</tr>
</tbody>
</table></div>
<h5 id="2_31">2）磁盘阵列</h5>
<p>RAID（廉价冗余磁盘阵列）指将多个独立的物理磁盘组成一个独立的逻辑盘。</p>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>等级</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>RAID0</td>
<td>无冗余和无校验的磁盘阵列（无容错能力）</td>
</tr>
<tr>
<td>RAID1</td>
<td><strong>镜像</strong>磁盘阵列</td>
</tr>
<tr>
<td>RAID2</td>
<td>采用<strong>纠错海明码</strong>的磁盘阵列</td>
</tr>
<tr>
<td>RAID3</td>
<td>位交叉<strong>奇偶校验</strong>的磁盘阵列</td>
</tr>
<tr>
<td>RAID4</td>
<td>块交叉奇偶校验的磁盘阵列</td>
</tr>
<tr>
<td>RAID5</td>
<td>无独立校验的奇偶校验磁盘阵列</td>
</tr>
</tbody>
</table></div>
<h5 id="3_18">3）光盘存储器</h5>
<p>CD-ROM：只读型光盘。</p>
<p>CD-R：只可写入一次信息，之后不可修改。</p>
<p>CD-RW：可读可写光盘，可以反复读写。</p>
<p>DVD-ROM：高容量的CD-ROM，DVD表示通用数字化多功能光盘。</p>
<h3 id="3io">3.I/O接口</h3>
<h4 id="1io_1">1、I/O接口的功能</h4>
<h4 id="2io_1">2、I/O接口的基本结构</h4>
<h4 id="3io_1">3、I/O接口的类型</h4>
<h4 id="4io">4、I/O接口及其编址</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th></th>
<th>统一编址</th>
<th>独立编址</th>
</tr>
</thead>
<tbody>
<tr>
<td>别名</td>
<td>存储器映射方式</td>
<td>I/O映射方式</td>
</tr>
<tr>
<td>特点</td>
<td><strong>把I/O端口当作存储器的单元进行地址分配。</strong></td>
<td><strong>I/O端口的地址空间与主存地址空间是两个独立的地址空间。</strong></td>
</tr>
<tr>
<td></td>
<td>不需要设置专门的I/O指令，用同一的访存指令就可以访问I/O端口。</td>
<td>无法从地址码的形式上区分，<strong>需要设置专门的I/O指令</strong>来访问I/O端口。</td>
</tr>
<tr>
<td>优点</td>
<td>不需要专门的输入/输出指令，CPU访问I/O操作更灵活、更方便，可以使端口有较大的编址空间。</td>
<td>输入/输出指令有明显区别，程序编址清晰，便于理解。</td>
</tr>
<tr>
<td>缺点</td>
<td>端口占用存储器地址，使内存容量变小，而利用存储器编址的I/O设备进行数据输入/输出操作，执行速度较慢。</td>
<td>输入/输出指令少，一般只能对端口进行传送操作，尤其需要CPU提供存储器读/写、I/O设备读/写两组控制信号，增加了控制的复杂性。</td>
</tr>
</tbody>
</table></div>
<h3 id="4io_1">4.I/O方式</h3>
<h4 id="1_31">1、程序查询方式</h4>
<h4 id="2_32">2、程序中断方式</h4>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>执行对象</th>
<th>过程</th>
</tr>
</thead>
<tbody>
<tr>
<td>中断隐指令（硬件自动）</td>
<td>1、关中断<br />2、<strong>保存断点</strong><br />3、<strong>引出中断服务程序</strong></td>
</tr>
<tr>
<td>中断服务程序</td>
<td>4、<strong>保存现场</strong>和屏蔽字（需要在关中断下进行）<br />5、开中断<br />6、执行中断服务程序<br />7、关中断<br />8、<strong>恢复现场</strong>和屏蔽字（需要在关中断下进行）<br />9、开中断、中断返回</td>
</tr>
</tbody>
</table></div>
<h4 id="3dma">3、DMA方式</h4>
<p>主存和DMA接口之间有一条直接数据通路。</p>
<h5 id="1dma">1.DMA方式特点</h5>
<ol>
<li>使主存既可以被CPU访问，也可以被外存访问。</li>
<li>在数据块传送使，主存地址，传送数据的计算都由硬件电路实现。</li>
<li>主存中开辟专用缓冲区，及时供给和接受外设的数据。</li>
<li>DMA传送速度快，CPU和外设并行工作，提高了系统效率。</li>
<li>DMA在传送开始前要通过<strong>程序</strong>进行<strong>预处理</strong>，结束后要通过<strong>中断方式</strong>进行<strong>后处理</strong>。</li>
</ol>
<h5 id="2dma">2.DMA控制器的组成</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>组成</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>主存地址计数器</td>
<td>存放要交换数据的主存地址。</td>
</tr>
<tr>
<td>传送长度计数器</td>
<td></td>
</tr>
<tr>
<td>数据缓冲寄存器</td>
<td>暂存每次传送的数据。</td>
</tr>
<tr>
<td>DMA请求触发器</td>
<td></td>
</tr>
<tr>
<td>“控制/状态”逻辑</td>
<td>由控制和时序电路及状态标志组成。</td>
</tr>
<tr>
<td>中断机构</td>
<td>当一个数据块传送完成后触发中断机构。</td>
</tr>
</tbody>
</table></div>
<h5 id="3dma_1">3.DMA的传送方式</h5>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>方式</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>停止CPU访问主存</td>
<td>DMA控制器向CPU发出信号，要求CPU放弃地址线、数据线、和有关控制线的使用权，DMA接口获得总线控制权后，开始传送数据。</td>
</tr>
<tr>
<td>DMA与CPU交替访问主存</td>
<td></td>
</tr>
<tr>
<td>周期挪用</td>
<td></td>
</tr>
</tbody>
</table></div>
<h3 id="_20">知识点</h3>
<div class="pure-table-scrollable"><table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>知识点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.【2013年考研408第20题】用于提高RAID可靠性的措施有（I、III）：<br /><strong>I、磁盘镜像</strong>（✔︎）<br/>II、条带化<br/><strong>III、奇偶校验</strong>（✔︎）<br/>IIII、增加Cache机制</td>
</tr>
<tr>
<td>2.【2013年考研408】某磁盘的转速为10000转/分，平均寻道时间为6ms，磁盘传输速率是20MB/s，磁盘控制器延迟为0.2ms，读取一个4KB的扇区所需的平均时间约为【9.4ms】<br /><br />&gt; 平均寻道时间：<script type="math/tex">6ms</script><br />&gt; 平均查询扇区时间：<script type="math/tex">60/10000/2 = 3ms</script><br />&gt; 传输时间：<script type="math/tex">4K/20M=0.2ms</script><br />&gt; 延迟时间：<script type="math/tex">0.2ms</script>
</td>
</tr>
<tr>
<td>3.【2019年考研408】下列关于磁盘存储器的叙述中，<strong>错误</strong>的是【C】。<br /><br />&gt; A. 磁盘格式化容量比非格式化容量小<strong>。（格式化后需要分扇区，并写入信息，因此容量变小）<br />&gt; B. 扇区中包含数据、地址和校验等信息。<br />&gt; C. ✘磁盘存储器的最小写单位为1字节。（磁盘按</strong>块**存取，不一定是1B）<br />&gt; D. 磁盘存储器由磁盘控制器，磁盘驱动器和盘片组成。</td>
</tr>
<tr>
<td>4.【2014年考研408】下列有关I/O接口的叙述中，<strong>错误</strong>的是【D】<br /><br />&gt; A. 状态端口和控制端口可以合用同一个寄存器。<br />&gt; B. I/O接口中CPU可以访问的寄存器称为I/O端口。<br />&gt; C. 采用独立编址方式时，I/O端口地址和主存地址可能相同。<br />&gt; D. ✘采用<strong>统一编址</strong>方式时，CPU<u>不能通过访存指令访问I/O接口</u>。<br />✔︎采用<strong>独立编址</strong>方式时，CPU不能通过访存指令访问I/O接口✔︎</td>
</tr>
<tr>
<td>5.【2017年考研408】I/O指令实现的数据传输，通常发生在【<strong>通用寄存器</strong>和I/O<strong>端口</strong>之间】</td>
</tr>
<tr>
<td>6.【2014年统考真题】若某设备中断请求的响应和处理时间为100ns，每400ns发出一次中断请求，中断响应所允许的最大延迟时间为50ns，则在该设备持续工作过程中，CPU用于该设备的I/O时间占CPU时间的百分比是【<script type="math/tex">25\%</script>】<br /><br />&gt; <script type="math/tex">100 / 400 = 0.25 = 25\%</script><br />&gt; CPU用于该设备的I/O时间，即中断处理时间（与响应时间无关）</td>
</tr>
<tr>
<td>7.【2012年统考真题】响应外部中断的过程中，<strong>中断隐指令</strong>完成的操作，除了保护断点外，还包括【I. 关中断，III. 形成中断服务程序入口地址并送入PC】<br /><br />&gt; II. 保存通用寄存器的内容（即保护现场，是中断服务程序执行的）<br />&gt; 中断隐指令（硬件电路）只完成3件事，1.关中断，2.保存断点，3.引出中断服务程序。</td>
</tr>
<tr>
<td>8.【2017年统考真题】下列关于<strong>多重</strong>中断系统的叙述中，<strong>错误</strong>的是【B】<br /><br />&gt; A. 在一条指令执行结束时响应中断<br />&gt; B. ✘中断处理期间CPU处于<u>关中断</u>状态（不正确，在多重中断系统中执行中断处理程序，可能会响应更高级的中断请求）<br />&gt; C. 中断请求的产生与当前指令的执行无关<br />&gt; D. CPU通过采样中断请求信号检测中断请求</td>
</tr>
<tr>
<td>9.【2019年统考真题】某设备以中断方式与CPU进行数据交换，CPU主频为1GHz，设备接口中的数据缓冲寄存器为32位，设备的数据传输率为50kB/s。若每次中断开销（中断响应和中断处理）为1000个时钟周期，则CPU用于该设备输入/输出的时间占整个CPU时间的百分比是【<script type="math/tex">1.25\%</script>】<br /><br />&gt; <script type="math/tex">32bit = 4B</script><br />&gt; <script type="math/tex">50kB / 4B = 12.5K</script>次中断<br />&gt; <script type="math/tex">(12.5*10^3*1000) / (1*10^9) = 0.0125=1.25\%</script>
</td>
</tr>
<tr>
<td>10.【2019年统考真题】下列关于DMA方式的叙述中正确的是【<strong>全部</strong>】<br /><br />&gt; I. DMA传送前由设备驱动程序设置传送参数<br />&gt; II. 数据传送前由DMA控制器请求总线使用权<br />&gt; III. 数据传送由DMA控制器直接控制总线完成<br />&gt; IV. DMA传送结束后的处理由中断服务程序完成</td>
</tr>
</tbody>
</table></div>
</div>
<div id="nav">
  <div class="navigation">
  <ul class="pure-menu-list">
    <li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_1">第一章 计算机系统概述</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#1">1.计算机的发展历程</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_1">1、计算机的发展历程</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2">2、计算机的分类</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#2_1">2.计算机系统</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#_2">硬件系统</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#_3">软件系统</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#3">3.计算机系统的层次结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#4">4.计算机软件</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#5">5.冯·诺伊曼计算机</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#6">6.计算机硬件</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#7">7.计算机的性能指标</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#_4">知识点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_5">第二章 运算器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#1_2">1.基本概念</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#3_1">3.定点数表示和运算</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_3">1、真值和机器数</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_2">2、定点机器数移位运算</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_2">3、定点机器数加减运算</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#4_1">4、溢出概念和判别方法</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#5_1">5、数据的存储和排列</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#4_2">4. 浮点数表示和运算</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#5-ieee754">5. IEEE754标准浮点数的范围</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#6_1">6. 运算器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_4">1. 运算器的组成</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_3">2. 运算器的结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_3">3. 校验码</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#_6">知识点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_7">第三章 存储系统</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#1_5">1.存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_6">1、存储器的分类</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_4">2、存储器的性能指标</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#2_5">2.存储器的层次化结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_7">1、多级存储结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#3_4">3.半导体随机存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1sramdram">1、SRAM和DRAM</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2rom">2、只读存储器（ROM）</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_5">3、主存储器的基本构成</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#4cpu">4.主存储器与CPU的连接</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_8">1、连接原理</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_6">2、主存容量扩展</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_9">1.位扩展</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_7">2.字扩展</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#3_6">3.字位同时扩展</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_7">3、存储芯片的地址分配和片选</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_10">1.线选</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_8">2.译码器片选</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#5ram">5.双端口RAM和多模块存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1ram">1、双端口RAM</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_9">2、多模块存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_11">1.单体多字存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_10">2.多体并行存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#6_2">6.高速缓冲存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1cache">1、Cache的基本工作原理</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2cache">2、Cache和主存的映射方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3cache">3、Cache中主存储块的替换算法</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#4cache">4、Cache写策略</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_12">1. 写命中</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_11">2. 写不命中</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#7_1">7.虚拟存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_13">1、虚拟存储器的基本概念</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_12">2、页式虚拟存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3tlb">3、加快地址转换：快表（TLB）</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#4_3">4、段式虚拟存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#5cache">5、虚拟存储器与Cache比较</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_8">知识点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_9">第四章 指令系统</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#1_14">1.指令格式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_15">1、指令的基本格式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_13">2、定长操作码指令格式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_8">3、扩展操作码指令格式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#2_14">2.指令的寻址方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_16">1、指令寻址和数据寻址</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_15">2、常见的数据寻址方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3x86">3、X86汇编指令入门</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#3ciscrisc">3.CISC和RISC的基本概念</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1cisc">1、复杂指令系统计算机（CISC）</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2risc">2、精简指令系统计算机（RISC）</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3ciscrisc_1">3、CISC和RISC的比较</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#_10">指令集</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#_11">知识点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_12">第五章 中央处理器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#1cpu">1.CPU的功能和基本结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1cpu_1">1、CPU的功能</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2cpu">2、CPU的基本结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#2_16">2.指令执行过程</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_17">1、指令周期</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_17">2、指令周期的数据流</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_9">3、指令执行方案</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#3_10">3.数据通路的功能和基本结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_18">1、数据通路的功能</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_18">2、数据通路的基本结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#4_4">4.控制器的功能和工作原理</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_19">1、控制器的结构和功能</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#_13">功能：</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_19">2、硬布线控制器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_20">1.基本原理</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_20">2.硬布线控制器的时序系统及微操作</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#3cpu">3.CPU的控制方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_11">3、微程序控制器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_21">1.微指令的编码方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_21">2.微指令的格式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#4_5">4、硬布线控制器和微程序控制器比较</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#_14">知识点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#5_2">5.指令流水线</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_22">1、指令流水线的基本概念</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_22">2、流水线的分类</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_12">3、影响流水线的因素</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_23">1. 资源冲突</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_23">2. 控制相关（数据相关、控制相关）</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#4_6">4、流水线的性能指标</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#5_3">5、超标量流水线的基本概念</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#_15">超长指令字</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#_16">知识点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_17">第六章 总线</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#1_24">1.总线概述</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_25">1、总线的基本概念</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_26">1）总线的特点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_24">2）总线设备</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#3_13">3）总线特性</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#4_7">4）总线的猝发传送方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_25">2、总线的分类</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_14">3、系统总线结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#4_8">4、总线的性能指标</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#2_26">2.总线仲裁</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_27">1、集中仲裁方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_27">2、分布仲裁方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#3_15">3.总线操作和定时</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#14">1、总线传输的4个阶段</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_28">2、同步定时方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_16">3、异步定时方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#4_9">4.总线标准</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#_18">知识点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 0.75em;" href="#_19">第七章 输入/输出系统</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#1io">1.I/O系统基本概念</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_28">1、输入/输出系统</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2io">2、I/O控制方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#2_29">2.外部设备</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_29">1、输入设备</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_30">2、输出设备</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3_17">3、外存设备</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1_30">1）磁盘存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2_31">2）磁盘阵列</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#3_18">3）光盘存储器</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#3io">3.I/O接口</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1io_1">1、I/O接口的功能</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2io_1">2、I/O接口的基本结构</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3io_1">3、I/O接口的类型</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#4io">4、I/O接口及其编址</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#4io_1">4.I/O方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#1_31">1、程序查询方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#2_32">2、程序中断方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.75em;" href="#3dma">3、DMA方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#1dma">1.DMA方式特点</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#2dma">2.DMA控制器的组成</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 2.25em;" href="#3dma_1">3.DMA的传送方式</a>
</li>
<li class="pure-menu-item">
  <a class="pure-menu-link" style="padding:0.1em 0em 0.1em 1.25em;" href="#_20">知识点</a>
</li>

  </ul>
</div>

</div>
 
    </div>
  </div>
  <div id="footer">
    <div class="legal pure-g">
  <div class="pure-u-1 u-sm-1-2">
    <p class="legal-license"><a href="https://beian.miit.gov.cn/#/Integrated/index">浙ICP备2020038748号</a></p>
  </div>
  <div class="pure-u-1 u-sm-1-2">
    <p class="legal-links"><a href="https://github.com/zromyk">GitHub</a></p>
    <p class="legal-copyright">Copyright © 2020 Wei Zhou. 保留所有权利。</p>
  </div>
</div>
  </div>
</body>
</html>
